System and method for modifying image-processing software in response to visual test results

ABSTRACT

A system and method for modifying the sensitivity of various image-editing parameters in accordance with the result obtained from one or more visual-acuity tests are disclosed. The method generally includes the steps of: identifying a new operator of the image-processing system; presenting a visual-acuity test to the operator via an interface to identify a control parameter sensitivity value associated with the operator&#39;s visual acuity limit; and adjusting the control parameter sensitivity value accordingly. The method may be implemented by an image-processing system having an image acquisition device, a processor, a memory device, a user-input device, and a display.

FIELD OF THE INVENTION

The present disclosure relates to image-processing systems. Moreparticularly, a system and method for an improved image-editingapplication are disclosed.

BACKGROUND OF THE INVENTION

Numerous software applications are commercially available for acquiring,selecting, and editing a digital representation of an image in a numberof ways. Frequently, these software applications are configured with agraphical user interface (GUI) suitable for selecting and editing anacquired digital image. For example, to “cut” or delete a portion of theimage, the user can use a mouse to select an area of the image byclicking the left mouse button while the screen “cursor” is located on acorner of the image that is desired to be deleted, dragging the screen“cursor” with the mouse to another corner, thereby outlining a portionof interest or the entire acquired image.

After triggering some input command to complete the selection of theregion or portion of interest, the operator then completes the “cut” byeither selecting the “cut” command from a drop-down menu (using hismouse and/or a keyboard), or alternatively, by using his mouse to selectand activate a graphical interface “cut” button or icon. In either case,known image-editing software is invoked which performs the “cut”operation, resulting in the original image being replaced by an editedimage which has a blanked-out area enclosed by the boundaries of theregion selected.

The aforementioned “cut” operation represents one of the more basicimage-editing functions. Commercially available image-editing systemsoffer a number of operator selectable image-processing parameters thatmay be applied via known image-editing software to adjust the look ofthe entire portion of a region of interest. For example, manyimage-editing systems offer an interface that permits an operator toselect various degrees of color saturation. Other common parameters thatmay be adjusted include: brightness, contrast, and sharpness, etc.

Generally, experienced operators of these commercially availableimage-editing systems have acquired a knowledge base and understandingof how the selected image will change when the image editor is providedone or more modified imaging parameter values and the image editormodifies the image. On the other hand, inexperienced operators andoperators with less visual acuity than the more experiencedimage-editing system operators, are often frustrated by the controlsensitivities provided via the GUI.

For example, some operators may have a limited ability to perceivechanges when a color-saturation parameter value associated with a colorhaving a specific range of frequencies. This limited acuity to discerncolor saturation level changes in a processed image may leave theoperator wondering if her last change to the color-saturation level wasaccepted and applied by the image editor. Similarly, an operator mayhave trouble discerning contrast adjustments applied by the imageeditor. Post acquisition image processing is both time and resourceintensive. As a result, an inability of the operator to distinguish animage-processing parameter change when it is applied results in aninefficient use of the operator's time, as well as, an inefficient useof the computing resources of the image-processing system in addition tothe aforementioned operator frustration.

SUMMARY OF THE INVENTION

From the above, it will be appreciated that it is desirable to provide asystem and method for selectively modifying the control sensitivityprovided in association with one or more image-processing parameters inan image-editing application. Briefly described, in architecture, animage-processing system capable of modifying control sensitivity valuesin response to one or more visual-acuity tests can be implemented with aprocessor, a user command interface, an image display device, a visualacuity logic, an image acquisition device, and an image-processinglogic.

Some embodiments of the system can be viewed as providing a method formodifying the control sensitivity of one or more image-processingparameters. In this regard, the method can be summarized by thefollowing steps: identifying when a new operator is processing imageswith the system; applying one or more visual-acuity tests to determineone or more processing-parameter control-sensitivity values that whenapplied result in perceivable changes to an edited image; and insertingthe one or more processing-parameter control values into the system.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention can be better understood with reference to the followingdrawings. The components in the drawings are not necessarily to scale,emphasis instead being placed upon clearly illustrating the principlesof the present invention. Moreover, in the drawings, like referencenumerals designate corresponding parts throughout the several views.

FIG. 1 is a schematic diagram of an embodiment of a computer-basedimage-processing system.

FIG. 2 is a schematic diagram of an image editor application programoperative on the image-processing system of FIG. 1.

FIG. 3 is a schematic diagram of an exemplary visual-acuity test displaythat may be presented by the image editor of FIG. 2.

FIG. 4 is a schematic diagram of an exemplary GUI that may be presentedby the image editor of FIG. 2.

FIG. 5 is a schematic diagram of an exemplary visual-acuity test displaythat is generated using a different processing parameter value than thedisplay of FIG. 3 that may be presented by the image editor of FIG. 2.

FIG. 6 is a schematic diagram of an embodiment of the GUI of FIG. 4 thathas been modified in response to a visual-acuity test result.

FIG. 7 is a flow chart illustrating a method for updating a GUI inaccordance with one or more visual-acuity tests that may be practiced bythe image-processing system of FIG. 1.

FIG. 8 is a flow chart illustrating a method for updatingimage-processing parameters that may be practiced by theimage-processing system of FIG. 1.

DETAILED DESCRIPTION

The present disclosure generally relates to an automatedimage-processing system. It will be appreciated that perceptible changesin a processed image may result from the combination of an operator'svisual acuity, the type and quality of the of display monitor on whichthe image is being displayed, as well as, environmental factors that maynot be readily adjustable by the operator of the image editor. These andother factors may combine to render an entire range of an operatorselectable control parameter as perceptively ineffective. Stated anotherway, an operator may be presented with an edited or otherwise processedimage generated with one or more modified image-editing controlparameters that in the eyes of the operator result in no change from theoriginal image when the modified control parameters are applied to theedited image.

Accordingly, the improved image-processing system is configured to testthe visual acuity of the operator on the present image-processingequipment before configuring the user interface. In response to theoperator's ability to recognize changes between test images generatedwith different image-processing parameter values, the sensitivity of therespective control is selectively varied. It is significant to note thatthe figures and associated detailed description that follow present oneexample of a possible visual-acuity test and a possiblecontrol-sensitivity adjustment responsive to the test result. It will beappreciated that a host of visual tests may be presented related to asingle visual-acuity measurement. It will also be appreciated that morethan one image-editing control-parameter sensitivity value may beadjusted in response to a visual-acuity test. These and other variationsare deemed within the scope of the improved image-processing system.

The improved image-processing system may be implemented by integratingthe image-editor application with various image acquisition andcomputing devices. It should be appreciated that the image-editorapplication may be integrated with a number of various image-acquisitiondevices and is not limited to integration with a scanner as described inthe following figures. When associated with an image scanner, someexemplary applications may include touching up digital representationsof color images, photographs, documents, and other similar images.

Referring now in more detail to the drawings, in which like numeralsindicate corresponding parts throughout the several views, attention isnow directed to FIG. 1, which presents a schematic diagram of acomputer-based image-processing system. In this regard, theimage-processing system generally denoted by reference numeral 10consists of a general purpose computer 11, a host of input/outputdevices 40, and an image-acquisition device 50.

The image-processing system (IPS) 10 includes at least oneimage-acquisition device 50. The image-acquisition device 50 can be anyelectronic device capable of developing an electronic image. In theexamples described below, the image-acquisition device 50 is a scanner.It should be appreciated that the image-acquisition device 50 may takethe form of a digital camera, a video camera, a memory device or anyother system capable of transferring a frame of picture elements to thecomputer 11. The computer 11 may be configured with one or moreapplication programs suited to permit an operator of the IPS 10 tomanage and edit a plurality of image files. An image-editor applicationmay be configured to work in cooperation with one or more input devicesto selectively edit images.

Those skilled in the art will appreciate that various portions of theIPS 10 can be implemented in hardware, software, firmware, orcombinations thereof. In a preferred embodiment, the IPS 10 isimplemented using a combination of hardware and software or firmwarethat is stored in a memory and that is executed by a suitableinstruction execution system. If implemented solely in hardware, as inan alternative embodiment, the IPS 10 can be implemented with any or acombination of the following technologies, which are all well known inthe art: a discrete logic circuit(s) having logic gates for implementinglogic functions upon data signals, an application specific integratedcircuit (ASIC) having appropriate combinational-logic gates, aprogrammable gate array(s) (PGA), a field programmable gate array(FPGA), etc.

Generally, in terms of hardware architecture, as shown in FIG. 1, thecomputer 11 includes a processor 12, memory 14, and one or more I/Ointerfaces 16 (or peripheral interfaces) that are communicativelycoupled via a local interface 18. The local interface 18 can be, forexample but not limited to, one or more buses or other wired or wirelessconnections, as is known in the art. The local interface 18 may haveadditional elements, which are omitted for simplicity, such ascontrollers, buffers (caches), drivers, repeaters, and receivers, toenable communications. Further, the local interface may include address,control, and/or data connections to enable appropriate communicationsamong the aforementioned components.

The processor 12 is a hardware device for executing software that can bestored in memory 14. The processor 12 can be any custom made orcommercially available processor, a central processing unit (CPU) or anauxiliary processor among several processors associated with thecomputer 11, and a semiconductor-based microprocessor (in the form of amicrochip) or a macro-processor. Examples of suitable commerciallyavailable microprocessors are as follows: a PA-RISC seriesmicroprocessor from Hewlett-Packard Company, an 80×86 or Pentium seriesmicroprocessor from Intel Corporation, a PowerPC microprocessor fromIBM, a Sparc microprocessor from Sun Microsystems, Inc, or a 68xxxseries microprocessor from Motorola Corporation.

The memory 14 can include any one or combination of volatile memoryelements (e.g., random access memory (RAM, such as dynamic RAM or DRAM,static RAM or SRAM, etc.)) and nonvolatile memory elements (e.g., readonly memory (ROM), hard drive, tape drive, compact disc (CD-ROM), etc.).Moreover, the memory 14 may incorporate electronic, magnetic, optical,and/or other types of storage media. Note that the memory 14 can have adistributed architecture, where various components are situated remotefrom one another, but can be accessed by the processor 12.

The software in memory 14 may include one or more separate programsand/or data files, each of which comprises an ordered listing ofexecutable instructions for implementing logical functions. In theexample of FIG. 1, the software in the memory 14 includes the imageeditor 100, a suitable operating system 20, a plurality of image files21, and one or more user profiles 22. A non-exhaustive list of examplesof suitable commercially available operating systems 20 is as follows: aWindows operating system from Microsoft Corporation, a Netware operatingsystem available from Novell, Inc., a UNIX operating system, which isavailable for purchase from many vendors, such as Hewlett-PackardCompany and Sun Microsystems, Inc., and a LINUX operating systemavailable from Redhat, among other vendors. The operating system 20essentially controls the execution of other computer programs, such asthe image editor 100, and provides scheduling, input-output control,file and data management, memory management, and communication controland other related services.

The image editor 100 is a source program, executable program (objectcode), script, or any other entity comprising a set of instructions tobe performed. When in the form of a source program the program needs tobe translated via a compiler, assembler, interpreter, or the like, whichmay or may not be included within the memory 14, so as to operateproperly in connection with the operating system 20. Furthermore, theimage editor 100 can be written as (a) an object-oriented programminglanguage, which has classes of data and methods, or (b) a procedureprogramming language, which has routines, subroutines, and/or functions,for example but not limited to, C, C++, Pascal, Basic, Fortran, Cobol,Perl, Java, and Ada.

The images 21 may be stored in the memory 14 or retrieved from asuitably configured data storage device (not shown) in communicationwith the processor 12, such as, but not limited to a hard disk drive.The images 21 may be stored in any of a variety of image formats.

The user profile(s) 22 may also be stored in the memory 14, on a remotedata storage device or on a hard disk drive associated with the computer11 (both not shown). The user profile(s) 22 may store a number ofuser-selectable preferences. These user-selectable preferences mayinclude computing environment parameters such as keyboard type,preferred functions for keyboard function keys, and the like. Inaddition, the user profile(s) 22 may include one or more “preferred”configuration parameters that may be applied to the image editor 100.The configuration parameters may include such items as controlsensitivity values, preferred brightness, contrast, color saturation forred, blue, and green, highlight, mid-tone, shadow, among others. Inaccordance with preferred embodiments, upon initialization, the imageeditor 100 searches for the existence of a user profile 22 associatedwith the present operator of the computer 11. When a user profile 22exists, the image editor 100 applies the stored configuration parameterswhen configuring the application. When a user profile does not exist forthe present user, the image editor 100 may be configured to set a flagor other indicator that may trigger a query at an appropriate time todetermine if the user would like the image editor 100 to store aconfiguration file for future use.

The I/O devices 40 may include input devices, for example but notlimited to, a keyboard 41, a mouse 43, a microphone 45, etc.Furthermore, the I/O devices 40 may also include output devices, forexample but not limited to, a display monitor 42, one or more audiospeakers 44, a printer 46, etc. Finally, the I/O devices 40 may furtherinclude devices that communicate both inputs and outputs, for instancebut not limited to, a modulator/demodulator (modem; for accessinganother device, system, or network), a radio frequency (RF) or othertransceiver, a telephonic interface, a bridge, a router, etc. Forsimplicity of illustration these aforementioned two-way communicationdevices are not illustrated.

If the computer 11 is a PC, workstation, or the like, the software inthe memory 14 may further include a basic input output system (BIOS)(also omitted for simplicity of illustration). The BIOS is a set ofessential software routines that initialize and test hardware atstartup, start the operating system 20, and support the transfer of dataamong the hardware devices. The BIOS is stored in a ROM so that the BIOScan be executed when the computer 11 is activated.

When the computer 11 is in operation, the processor 12 is configured toexecute software stored within the memory 14, to communicate data to andfrom the memory 14, and to generally control operations of the computer11 pursuant to the software. The image editor 100 and the operatingsystem 20, in whole or in part, but typically the latter, are read bythe processor 12, perhaps buffered within the processor 12, and thenexecuted.

When the image editor 100 is implemented in software, as is shown inFIG. 1, it should be noted that the image editor 100 can be stored onany computer readable medium for use by or in connection with anycomputer related system or method. In the context of this document, acomputer readable medium is an electronic, magnetic, optical, or otherphysical device or means that can contain or store a computer programfor use by or in connection with a computer related system or method.The image editor 100 can be embodied in any computer-readable medium foruse by or in connection with an instruction-execution system, apparatus,or device, such as a computer-based system, processor-containing system,or other system that can fetch the instructions from the instructionexecution system, apparatus, or device and execute the instructions. Inthe context of this document, a “computer-readable medium” can be anymeans that can store, communicate, propagate, or transport the programfor use by or in connection with the instruction-execution system,apparatus, or device. The computer readable medium can be, for examplebut not limited to, an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system, apparatus, device, or propagationmedium. More specific examples (a non-exhaustive list) of thecomputer-readable medium would include the following: an electricalconnection (electronic) having one or more wires, a portable computerdiskette (magnetic), a random access memory (RAM) (electronic), aread-only memory (ROM) (electronic), an erasable programmable read-onlymemory (EPROM, EEPROM, or Flash memory) (electronic), an optical fiber(optical), and a portable compact disc read-only memory (CD-ROM)(optical). Note that the computer-readable medium could even be paper oranother suitable medium upon which the program is printed, as theprogram can be electronically captured, via for instance opticalscanning of the paper or other medium, then compiled, interpreted orotherwise processed in a suitable manner if necessary, and then storedin a computer memory.

As illustrated in FIG. 1, the computer 11 may be integrated with animage-acquisition device 50. It should be appreciated that theimage-acquisition device 50 may take the form of a network connectionwith suitable bandwidth to receive a digital representation of an imageframe. Alternatively, the image-acquisition device 50 may take the formof a storage device interface such as a tape drive, a hard drive orother data storage device having a number of image files stored withinthe device. In other alternative configurations, the image-acquisitiondevice 50 may take the form of a digital camera, a video camera, ascanner, or other similar device. Whatever the nature of theimage-acquisition device 50, the computer 11 works together with thedisplay monitor 42 and the input/output interfaces 16 to reproduce animage that may be viewed, analyzed, and edited by an operator of theimage-editor application 100.

Image Editor Architecture and Operation

Reference is now directed to FIG. 2, which presents a schematic diagramof an image-editor application 100 that may be operative on the IPS 10of FIG. 1. In this regard, the image editor 100 consists of a GUI 110, apointer (user input) driver 120, a display driver 160, image-acquisitiondrivers 130, output drivers 170, and image-editing processing logic 180.

As illustrated in FIG. 2, the GUI 110 is in communication with thepointer driver 120 to receive operator directed inputs and the displaydriver 160 to generate a plurality of graphical representations ofoperator inputs, a number of processing parameters, as well as,representations of one or more images that may be processed by theimage-editor 100. In addition, the GUI 110 is in communication with animage-acquisition driver 130 for receiving image data from one or moreimage-acquisition devices 50 (FIG. 1). Furthermore, the GUI 110 is incommunication with an image output driver 170 suited for receiving andtransferring a digital representation of a processed image to aplurality of output devices. As shown in FIG. 2, the aforementionedimage-acquisition devices 50 may include a camera, a scanner, and amemory device. The image editor 100 may be configured such that each ofthe aforementioned image-acquisition devices 50 has an associateddriver. For example, the acquisition drivers 130 may include a cameradriver 132, a scanner driver 134, and a memory device driver 136 amongothers. As further illustrated in FIG. 2, the image output driver may bein selective communication with a printer driver 172, a fax driver 174,an E-mail driver 176, as well as, other output device drivers.

As illustrated in the block diagram of FIG. 2, the GUI 110 is alsoconfigured to transfer and receive image data 21 (which may be in theform of files) both to and from the processing logic 180. As shown inFIG. 2, the processing logic 180 may contain a number of functionalprocesses such as, but not limited to, cut 181, crop 182, brightnessadjustment 183, color saturation adjustment 184, and a color hueadjustment 185.

As further illustrated in FIG. 2, the GUI 110 may be configured tointerface with a visual-acuity test 150. As will be described in detailbelow, the visual-acuity test 150 may be configured to present aplurality of generated test images via a plurality of data entry windowsor frames. Preferably, the GUI 110 is itself in the form of a pluralitydata entry windows or informational frames of image data presented undera standard human machine interface easily recognizable and operable bythe operators of the image editor 100. For example, the GUI 110 may takethe form of a plurality of application windows each configured with amenu bar and a command bar containing one or more file commandpush-buttons, and one or more format command push-buttons.

The image editor 100 is preferably programmed to provide a standardcomputer interface commonly used with image editing and processingprograms. Included therein are several functional items that are definedbelow:

Context-Sensitive Menu—A menu that highlights options as available orunavailable depending upon the context in which the menu is called.

Drop Down Menu—Drops down from menu bar and remains active until closedor an available menu option is selected.

Menu Bar—Bar across top of screen that contains one or more labels whichactivate an associated drop down menu.

Pull Down Menu—A sub-menu that is typically activated by moving apointing device over a drop down menu option.

Pop-up Menu—Menu that is activated upon selection of a featurepush-button.

Scroll Bar—Bar at side or bottom of screen that allows user to scrollleft, right, andlor up, and down through a large window.

An operator of the GUI 110 may configure the image editor 100 to acquirea digital representation of a scanned color photograph by selecting anappropriate image-acquisition mode. The image editor 100 may accomplishthe image data acquisition by applying one or more drivers such as thescanner driver 134 to receive the digital information from a scannerintegrated with the IPS 10 (FIG. 1). After having acquired the image,the image editor 100 may be configured to present the image data in aninterface window via the display monitor 42 (FIG. 1). It will beappreciated that both the image data interface window, as well as theunderlying image data may be configured by the display driver 160.

As is known the image editor 100 may permit an operator via the GUI 110to view and modify image data in a variety of ways. For example, theimage editor 100 may be configured to permit an operator to selectportions of an image through a well known method of overlaying apointing device interface driven line over the image information. Oncethe operator has placed the interface line over that portion of theimage that the operator desires to change in some way, the image editor100 may provide a trigger input that permits an operator to “select” theidentified image portion for further processing operations. Theseprocessing operations may include, but are not limited to, adjusting thehue, saturation, and luminance of red, green, and blue pixels within theselected image portion. The processing operations may also includeadjusting the contrast and brightness, as well as, adjusting highlights,mid-tones, and shadows within the selected image portion. In addition,the image editor 100 may be configured to permit an operator to addidentifying information to the image data, such as but not limited tolabels, acquisition data including machine settings, acquisition datarelated to the subject, and the like.

The image editor 100 may be configured to store one or more operatorconfigurations or image-editing templates. These image-editing templatesmay be stored within the memory 14 and selectively retrieved from a listof various operator, image source, and/or image type specificimage-editing templates that may be applied by the image editor 100 inthe acquisition and processing of an image.

As further illustrated in FIG. 2, the processing logic 180 workstogether with the GUI 110 and the plurality of functions (i.e., cut 181,crop 182, brightness 183, etc.) to generate a modified digitalrepresentation of the originally acquired image. Once the operator issatisfied that she has modified the image to her liking, she mayconfigure an output-device select window to select the appropriateoutput driver 170 to transfer the modified image 300 as it appears onthe display monitor 42 (FIG. 1) to a number of external devices. Forexample, the image 300 may be stored, faxed, displayed, electronicallymailed, and or printed by commands generated within the application.

Visual-Acuity Test Operation

The various functional blocks of the image editor 100 having beenintroduced and briefly described with regard to the schematic of FIG. 2,reference is now directed to FIGS. 3 through 6, which will illustratethe operation of an exemplary visual-acuity test 150 that may beintegrated with the image editor 100. In this regard, FIG. 3 illustratesan exemplary GUI display 300 that may be produced and displayed by theimage editor 100 when in a visual-acuity test mode. As shown, the GUIdisplay 300 may contain a window entitled “Image Editor.” The “ImageEditor” window 300 may have a header menu bar 306. Here, the imageeditor 100 offers drop down menus entitled, “File,” “Edit,” “View,”“Image,” “Colors,” and “Help.” It will be appreciated that each of thedrop-down menus may include a set of further menu options. It should befurther appreciated that one or more of each of the menu optionsassociated with each of the header menu bar options may or may not beactivated based upon the present state of the GUI 110. In addition tothe header menu bar 306, the GUI display 300 may present a second header310 containing one or more functional pushbuttons labeled with iconsindicative of the underlying image-editing function. For example, theGUI display 300 may present a first icon 313 associated with amulti-sided variable image select mode. A second icon 316 may beassociated with a rectangular area select mode and a third icon 319 maybe associated with an erase mode. It should be appreciated that theimage editor 100 may be configured to provide a host of other functionalmode pushbuttons. As with the drop-down menus, one or more of thevarious icon labeled functional pushbuttons may be marked as inactiveand in fact inactivated based on the present state of the image editor100.

As is illustrated in the schematic of FIG. 3, the GUI display 300 mayalso present a popup window display 320 containing multiple pages eachhaving its own particular interface associated with a differentvisual-acuity test that may be presented to the operator of the imageeditor 100. In the exemplary schematic of FIG. 3, the image editor 100is presenting an image contrast test to the operator via the GUI display300. The contrast test page of the popup window display 320 may bearranged with a number of functional pushbuttons each associated with alabel across the page. As shown the functional pushbuttons may includean “Abort Test” button 321, an “OK” button 323, a “No Change” button325, and “Repeat” button 327.

As also shown on the page, the operator may be presented with multipleversions of a test image. In order to test an operator's ability todiscern processed image changes in an image modified from a first image,a first image is generated using a baseline image-processing parametervalue. Here, a first contrast adjustment level is used to generate theleftmost image presented on the GUI display 300. The rightmost image isgenerated using the same test image using a contrast adjustment levelthat is a predetermined step or delta from the first. When the operatorof the image editor detects a discernable difference in the imagespresented, the operator may depress the “OK” pushbutton 323 to indicatethat she can distinguish a difference between the images. Otherwise, ifshe could not detect a visible difference in the contrast level betweenthe displayed images, the operator would depress the “No Change”pushbutton to indicate to the image editor that the contrast sensitivitydelta was beyond her visual acuity given the present equipment andambient light. An operator of the IPS 10 may select the “Repeat”pushbutton to direct the image editor 150 to redisplay the variousimages for one or more cycles. The “Abort Test” pushbutton 321 may beselected at any time during the visual-acuity test to return to astandard image-editing mode that applies default image-processingparameter sensitivity deltas to each of the operator adjustableimage-editing controls.

In alternative embodiments, the display may alternatively present thefirst and second images with each being displayed for a predeterminedduration. In this alternative mode, the image editor 150 may beprogrammed to display each of the images for a set period with displaytransitions triggered by the passing of the set period. In otherembodiments, an audible tone or other indicator may be presented toassist the operator in determining when the display has been modified.

In response to the operator's affirmative response to the underlyingquery (i.e., can you determine a difference between the displayedimages?) presented in the GUI of FIG. 3, the image editor 100 may beconfigured to respond by varying the sensitivity of the contrast controlthat will be presented to the operator when the operator returns to animage-editing mode. In preferred embodiments, each image-processingparameter will be adjusted to the finest control sensitivity value thatresults in an observed difference for the present user of the IPS 10because of the visual-acuity test.

However, preferred embodiments may present one or more image-processingconfiguration interfaces that may be used to further adjust one or moreimage-processing parameters including control sensitivity values. Theseimage-processing configuration interfaces may be used to override thevisual-acuity test result sensitivities and/or may be used in lieu ofthe visual-acuity test when the image editor 100 is being operated by anexperienced user.

In this regard, FIG. 4 illustrates an image properties pop-up display420 that may be generated by the image editor 100. As illustrated theimage properties pop-up display 420 may present a host of userconfigurable options to the operator as well as a host of configurationcontrols. For example, the image properties pop-up display 420 maypresent an application interface menu 431, an image-mode menu 432, animage-size menu 433, and an image-resolution menu 434. In addition, theimage properties pop-up display 420 may present both a brightness andcontrast control interfaces 441, 443, along with “OK” 421, “Cancel” 422,“Add” 423, and “Remove” 424 functional pushbuttons.

As shown in FIG. 4, each of the application-interface menu 431, theimage-mode menu 432, the image-size menu 433, and the image-resolutionmenu 434 may be configured with a pull-down menu arrow pushbutton. Uponindividually selecting each of the pull-down menu arrows, the operatorwill be presented with a menu listing all available selections relatedto the associated application, image mode, image size, and imageresolution, respectively. As is also shown in FIG. 4, the brightness andcontrast controls 441, 443 may be similarly presented in the form of aslide bar with each respective slide bar control outfitted withcorresponding left and right arrows to adjustably control either thebrightness or the contrast value that is applied to the selected imagedata. Here, the brightness and contrast controls 441, 443 may be furtherassociated with a corresponding absolute brightness value display 443and an absolute contrast value display 453. As also shown, thebrightness and contrast controls 441, 443 may be also associated with acorresponding percentage of full scale brightness display 445 and apercentage of full scale contrast display 455. As shown in FIG. 4, thecontrast control sensitivity is in a state that is much coarser than thebrightness sensitivity control as is shown by the 25% and 5% values inthe corresponding full scale displays 455, 435, respectively.

As is also illustrated in the image properties pop-up display 420 ofFIG. 4, the “Add” pushbutton 423 and the “Remove” pushbutton 424 may bein an inactive state as is apparent from their “gray” label. When theoperator has selected each of the image-editing variables as desired,the operator may elect to apply the configuration by depressing the “OK”functional pushbutton 421 by positioning a cursor indicative of therelative position of a pointing device input over the pushbutton 421 asdisplayed on the display monitor 42 and depressing a suitably configuredselect input trigger.

It is significant to note however that when the image editor 100 is in avisual-acuity test mode, the underlying sensitivity control adjustmentsthat may be applied to the various image-editing windows may be appliedin the background. In other words, if the result of the contrast testindicates that the present operator of the image editor 100 is incapableof discerning a visual difference between images generated with a changein contrast control of 8% of the contrast parameter full-scaleadjustment. The image editor 100 may be configured to respond byadjusting the sensitivity of the contrast parameter full-scaleadjustment to 9% of its full-scale capability. This contrast parametersensitivity adjustment, in preferred embodiments of the improved imageeditor 100, will be applied absent further operator feedback. Once theoperator has completed the various visual-acuity tests presented by theimage editor 100, the image editor will adjust the sensitivity of eachof the associated image-editing control parameters as indicated by thevisual acuity of the operator.

In accordance with an operator's input indicating that the operatorcould indeed discern a difference between the images presented in theGUI display 300 of FIG. 3, the image editor 100 may be configured toreduce the delta between the contrast parameter value used to generatethe first and second images on the contrast test page of the popupwindow display 320. It should be appreciated that a number of differentprocesses may be used to select an appropriate image-processingparameter delta reduction. For example, in one mode, theimage-processing parameter delta may be adjusted by a factor of two(e.g., a contrast sensitivity may be reduced by ½) as a result of eachsubsequent test where the operator responds affirmatively (i.e., theoperator can detect the change in sensitivity). Regardless of theadjustment process selected or the underlying image-processing parameterassociated with a present visual-acuity test, the operator may beprompted multiple times in an iterative process until two test imagesgenerated with different image-processing parameter values result inimages that the operator can not distinguish as being different. Twosuch images are presented in FIG. 5.

In this regard, FIG. 5 presents a schematic diagram of an exemplaryvisual-acuity test display that is generated using a differentprocessing parameter value than the display of FIG. 3. Despite the factthat the images presented have been generated using different contrastparameter values, the resulting images may appear so similar that anyfurther reduction in the contrast parameter sensitivity would rendersubsequent images that would also appear to be similar to the images inFIG. 5 to an operator of the image editor. Once the visual-acuity testhas reached this point in the test process, the operator may beinstructed to select the “No Change” pushbutton 325 on the popup windowdisplay 320. In response, the image editor 100 may be configured toapply the last delta associated with the last set of generated testimages where the operator affirmatively responded that the images weredifferent. For example, the image editor 100 may be configured to adjustthe contrast sensitivity control 451 on the image-processing interfacepop-up 420 such that the contrast sensitivity is no finer than 10% ofthe full range of the digital contrast control.

Concurrently, with the image-processing interface pop-up adjustment, theimage editor 100 may be configured to present the first stage of anothervisual-acuity test associated with a separate image-editing control. Theexamples of FIGS. 3 to 6 illustrate the situation where a singleimage-editing parameter is adjusted in association with a visual-acuitytest. It should be appreciated that those skilled in testing theabilities of the human eye may devise test images capable of exercisingone or more image-editing control parameters. Any such test image isdeemed within the scope of the improved image editor 100.

Reference is now directed to FIG. 7 which presents a flowcharthighlighting a method for updating a GUI in accordance with one or morevisual-acuity tests that may be practiced by the image-processing systemof FIG. 1. In this regard, the method for updating a GUI 500 may beginwith step 502, labeled, “BEGIN.” First, a query may be presented todetermine if the operator is new to the image-editing application or ifthe operator has previously been visually tested as indicating in thequery of step 504. If the response to the query of step 504 isaffirmative, the method for updating a GUI 500 may be configured toperform one or more visual-acuity tests 506 via the image editor 100(FIGS. 1 and 2). After performing the one or more visual-acuity tests instep 506, the method for updating a GUI 500 may proceed by acquiringimage-processing sensitivity parameters as determined by the one or morevisual-acuity tests as indicated in step 508.

Next, the method for updating a GUI 500 may be configured to initiatethe image-editor application 100 as illustrated in step 510. It shouldbe appreciated that an important sub-step of the initialization processof the image editor 100 is the application of the image-processingsensitivity parameters acquired in step 508 as is indicated in step 512.Next, in step 514 the image editor 100 may enter one or moreimage-editing modes such that an operator may apply image-processingparameters having an appropriate sensitivity that permits eachimage-editing change request to result in a change in the modified imagethat is visibly discernible by an operator of the image editor 100.

As illustrated in the flowchart of FIG. 7, the image editor 100 may beconfigured with one or more triggers that may initiate the query asillustrated in step 516. If an operator indicates that a change isnecessary to one or more of the image-editing control sensitivities asindicated by the flow control arrow labeled, “YES,” the method forupdating a GUI 500 may be configured to perform step 518, where theimage editor is temporarily disabled and to return to the visual-acuitytest(s) of step 506. Otherwise, the image editor 100 may remainindefinitely in an image-editing mode as indicated by the flow controlarrow labeled, “NO” that exits the query of step 516. It will beappreciated that the method for updating a GUI 500 may repeat steps 514and 516 as long as an operator desires to actively edit images with theunderlying image editor 100. It should also be appreciated that step 518and steps 506 through 512 may be repeated as often as a particular userdesires. In an alternative embodiment, step 518 and steps 506 through512 may be performed if a separate user having a different visual acuitythan a first user were to begin using the image editor 100.

Reference is now directed to FIG. 8, which further illustrates thevisual-acuity test of step 506 in the method for updating a GUI 500presented in the flowchart of FIG. 7. In this regard, the flowchart ofFIG. 8 presents a method for updating image-processing sensitivityvalues that may be practiced by the image-processing system of FIG. 1.The method for updating image-processing sensitivity values 506 maybegin with step 602, labeled, “BEGIN.” First, the method may beconfigured to acquire a particular visual-acuity test type asillustrated in step 604. Next, the method for updating image-processingsensitivity values 506 may be configured to acquire a default processingparameter from the image editor 100 (FIGS. 1 and 2) as shown in step606. As illustrated in step 608, the method for updatingimage-processing sensitivity values 506 may be configured to generate afirst test image using the default processing parameter provided by theimage editor 100. Next, the method for updating image-processingsensitivity values 506 may calculate an appropriate image-processingcontrol parameter to use in generating a second test image. Asillustrated in step 610, a predetermined delta may be added to thedefault image-processing value. Step 612 then reflects the applicationof the “shifted” image-processing parameter value in generating thesecond test image.

The method for updating image-processing sensitivity values 506 havinggenerated sample test images with at least one image-processing variablethat varies by a known delta, the sample images may be presented to theoperator to determine as indicated in the query of step 614 if theoperator can detect that the sample images are different. If theresponse to query of step 614 is affirmative (i.e., the operator candetect that the sample images are different), the method for updatingimage-processing sensitivity values 506 may be configured to performstep 616 where the present delta is reduced. As illustrated, the methodfor updating image-processing sensitivity values 506 may then repeatstep 616 and steps 608 through 614 as required until the operator of theimage editor 100 can no longer detect a difference in the sample images.

As illustrated in the flowchart of FIG. 8, once the operator of theimage editor 100 can no longer detect a difference in the sample images,the method for updating image-processing sensitivity values 506 may beconfigured to perform step 618 where the last sensitivity controlparameter that resulted in an operator detectable difference in thesample images may be forwarded to the GUI 110 of the image editor 100.Next, a determination may be made if further visual-acuity tests are tobe performed as indicated in the query of step 620. If the response tothe query of step 620 is affirmative, the method for updatingimage-processing sensitivity values 506 may be configured to repeatsteps 604 through 620 until all tests have been performed. Otherwise, ifthe query of step 620 results in a negative response, the method forupdating image-processing sensitivity values 506 may be configured toterminate as indicated in step 622, labeled, “END.” It should beappreciated that the image editor 100 may be configured with one or moretriggers that may permit an operator of the image editor 100 to abortand/or exit the visual-acuity tests. Those skilled in the art can addthis functionality as desired by the particular image-editingapplication.

Process descriptions or blocks in the flow charts of FIGS. 7 and 8should be understood to represent modules, segments, or portions of codewhich include one or more executable instructions for implementingspecific logical functions or steps in the various methods described.Alternate implementations are included within the scope of the preferredembodiment of the image editor 100 in which functions may be executedout of order from that shown or discussed, including substantiallyconcurrently or in reverse order, depending on the functionalityinvolved, as would be understood by those reasonably skilled in the artof the present invention. For example, as described above, it iscontemplated that the various visual-acuity tests disclosed above may beintegrated within an image editor software application. It will beappreciated by those skilled in the art that the visual-acuity tests maybe separated and performed in accordance with a distinct softwareapplication which may store a data file which may be accessed by aseparate and distinct image-editing application program. Those skilledin the art will be able to make the aforementioned adjustments to theexecutable code and the methods disclosed above without undueexperimentation.

What is claimed is:
 1. A method for updating image-processing controlparameters associated with an image-editing system, comprising:identifying when a new operator is active on the image-editing system;presenting at least one visual-acuity tests to the operator, wherein thevisual-acuity test determines at least one image-processing controlparameter sensitivity value that when applied in the image-editingsystem results in a modified image that is perceivably different asviewed by the operator; and replacing the at least one image-processingcontrol parameter sensitivity value.
 2. The method of claim 1, whereinthe step of identifying is replaced by: responding to an operatorrequest to modify at least one image-editing control parametersensitivity value.
 3. The method of claim 1, wherein the step ofidentifying comprises determining if an operator specific data fileassociated with the present operator exists.
 4. The method of claim 3,wherein the operator specific data file comprises at least oneimage-processing control-parameter sensitivity delta.
 5. The method ofclaim 1, wherein the at least one image-editing control parameter isselected from the group consisting of color hue, saturation, andluminance.
 6. The method of claim 1, wherein the at least oneimage-editing control parameter is selected from the group consisting ofhighlight, mid-tone, and shadow.
 7. The method of claim 1, wherein theat least one image-editing control parameter is selected from the groupconsisting of brightness and contrast.
 8. The method of claim 1, furthercomprising: permitting an operator of the image-editing system tooverride at least one image-editing control-parameter sensitivity valuewhen an operator so desires.
 9. A method for updating image-processingcontrol parameters associated with an image editor, comprising:generating a first image and a second image, the images generated inresponse to a change in at least one image-processing control parameter;presenting the first and second images to an operator of the imageeditor; prompting the operator if the first and second images aredifferent; responding when the first and second images are indicated bythe operator as different by reducing a delta defined by the differencebetween the at least one image-processing control parameter used togenerate the first and second images respectively; repeating thegenerating, presenting, prompting and responding steps until theoperator can no longer detect a difference in the first and secondimages; and forwarding the last detectable image-processing controlparameter delta to the image editor.
 10. The method of claim 9, whereinthe image-processing control parameter has been changed by apredetermined value.
 11. The method of claim 9, wherein respondingcomprises reducing the delta by one-half of the present delta.
 12. Themethod of claim 11, further comprising returning to the previous deltathat resulted in a discernable difference between the first and secondimages and reducing the delta by one-fourth of the present delta whenthe reduction by one-half of the present delta results in a first andsecond images that do not contain a discernable difference.
 13. Acomputer based image-processing system, comprising: means for acquiringat least one image-processing control parameter; means for applying adefault sensitivity value to the at least one image-processing controlparameter; means for presenting at least visual-acuity test to anoperator of the image-processing system; and means for selectivelyadjusting the default sensitivity value associated with the at least oneimage-processing control parameter in response to the at least onevisual-acuity test.
 14. The system of claim 13, wherein the applyingmeans is responsive to a default sensitivity delta associated with thevisual acuity of at least a majority of the population at large when theat least one image-processing control parameter is used to generate afirst sample image and a combination of the at least oneimage-processing control parameter and the default sensitivity delta isused to generate a second sample image, wherein the majority of thepopulation can discern a difference between the first and second sampleimages.
 15. The system of claim 13, wherein the presenting meanscomprises a graphical user interface (GUI) in association withimage-processing system.
 16. The system of claim 13, wherein theacquiring, applying, and selectively adjusting means comprise a computerassociated with a display configured to present a graphical userinterface (GUI).
 17. An image-processing system, comprising: an imageacquisition device; a processor in communication with the imageacquisition device and a memory device, the memory device containingimage-processing logic, user interface logic, and visual acuity logic,wherein the visual acuity logic generates and presents at least a firstimage and a second image, the images generated in response to a changein at least one image-processing control parameter; a user-interfacedevice in communication with the processor via the user interface logic,wherein the user interface logic is modified in response to anoperator's ability to observe a difference between the first and secondimages; and a display device in communication with the processorconfigured to present a graphical user interface comprising the firstand second images.
 18. The system of claim 17, wherein the modificationin the user interface logic comprises adjusting an image-processingcontrol parameter sensitivity value.
 19. The system of claim 18, whereinthe modification can be selectively superseded by an operator of theimage-processing system.
 20. A computer readable medium, comprising:logic configured to obtain at least one default image-processing controlparameter sensitivity value and an associated sensitivity delta; logicconfigured to apply the at least one default sensitivity value togenerate a first image and to apply a combination of the at least onedefault sensitivity value and the associated sensitivity delta togenerate a second image; logic configured to display the first andsecond images; logic configured to reduce the associated sensitivitydelta until an observer can no longer observe a difference between thefirst and second images; and logic responsive to the logic for reducingconfigured to update the associated sensitivity delta.